all: game tst_rast tst_fnt mixer tst_rend

mixer: mixer.o psg.o events.o model.o music.o isr.o isr_asm.o
	cc68x -g mixer.o psg.o events.o model.o effects.o music.o isr.o isr_asm.o -o mixer

mixer.o: mixer.c psg.h events.h model.h effects.h
	cc68x -c -g mixer.c

game: m_shoot.o raster.o bitmap.o events.o model.o renderer.o input.o effects.o psg.o font.o isr.o isr_asm.o rast_asm.o
	cc68x -g m_shoot.o raster.o bitmap.o events.o model.o renderer.o input.o effects.o psg.o font.o isr.o isr_asm.o rast_asm.o -o game

tst_all: tst_all.o raster.o bitmap.o events.o model.o renderer.o rast_asm.o
	cc68x -g tst_all.o raster.o bitmap.o events.o model.o renderer.o rast_asm.o -o tst_all

tst_rend: tst_rend.o raster.o bitmap.o events.o model.o renderer.o effects.o psg.o font.o isr.o isr_asm.o rast_asm.o
	cc68x -g tst_rend.o raster.o bitmap.o events.o model.o renderer.o effects.o psg.o font.o isr.o isr_asm.o rast_asm.o -o tst_rend

tst_fnt: tst_fnt.o raster.o font.o
	cc68x -g tst_fnt.o raster.o font.o -o tst_fnt

tst_rast: rast1.o raster.o model.o font.o bitmap.o
	cc68x -g rast1.o raster.o model.o font.o bitmap.o -o tst_rast

isr.o: isr.c isr.h model.h types.h
	cc68x -g -c isr.c

m_shoot.o: m_shoot.c raster.h events.h renderer.h input.h model.h isr.h
	cc68x -g -c m_shoot.c

tst_all.o: tst_all.c raster.h events.h
	cc68x -g -c tst_all.c

tst_rend.o: tst_rend.c raster.h events.h
	cc68x -g -c tst_rend.c

tst_fnt.o: tst_fnt.c font.h types.h raster.h
	cc68x -g -c tst_fnt.c

rast1.o: rast1.c
	cc68x -g -c rast1.c

input.o: input.c input.h
	cc68x -g -c input.c

effects.o: effects.c effects.h
	cc68x -g -c effects.c

music.o: music.c music.h
	cc68x -g -c music.c

psg.o: psg.c psg.h
	cc68x -g -c psg.c

events.o: events.c events.h isr.h
	cc68x -g -c events.c

raster.o: raster.c raster.h
	cc68x -g -c raster.c

font.o: font.c font.h
	cc68x -g -c font.c

model.o: model.c model.h
	cc68x -g -c model.c

bitmap.o: bitmap.c raster.h
	cc68x -g -c bitmap.c

renderer.o: renderer.c renderer.h
	cc68x -g -c renderer.c

rast_asm.o: rast_asm.s
	gen -D -L2 rast_asm.s

isr_asm.o: ISR_ASM.S
	gen -D -L2 ISR_ASM.S
